The present invention is concerned with an entropy coding concept for coding video data.
Many video codecs are known in the art. Generally, these codecs reduce the amount of data necessitated in order to represent the video content, i.e. they compress the data. In entropy coding, it is essential to code the symbols using a probability estimation which corresponds to the actual symbol statistics as closely as possible. The probability estimation associates a probability value with each possible value the symbols to encode may assume. In case of binary entropy coding, for example, the symbols are of a binary nature and merely two such possible values exist. In case of video coding, the symbols to be encoded belong to different syntax elements which fulfill different tasks in order to describe the video content: there are motion vector differences, coding modes, transform coefficient levels representing a prediction residual and so forth. First of all, all of these syntax elements have a different domain of possible values and even those which are defined on the same domain of possible values, most likely show a different frequency histogram over this domain of possible values. Accordingly, the symbols/bins of the symbol strings/bin strings of the symbolization/binarization of these syntax elements also show different statistics concerning the probability distribution over the symbol alphabet. Accordingly, context-adaptive entropy coding is used: first different contexts are provided with each context being associated with a different probability estimation. Accordingly, it is feasible to, for example, assign bins of different syntax elements with different contexts. Even spatial interrelationships between bins/symbols of syntax elements concerning neighboring portions of an image of the video may be exploited in order to select among the various contexts provided. By this measure, it is possible to classify the bins/symbols into groups, the symbol statistics of which changes likewise for different video content. Beyond this, however, the probability estimations associated with these contexts are continuously adapted to the actual symbol statistics during encoding.
It directly results from the above description that it is important to carefully design the contexts and to initialize the probability estimations of the contexts appropriately. For example, if the number of contexts would be too high, the adaptation of the probability estimations would fail due to the frequency of symbols within the individual context being too low. On the other hand if the number of contexts is too low, the symbols collected within the individual contexts have, in fact, different statistics and the probability estimation will fail to closely approximate the actual symbol statistics of all these symbols within the respective context. As far as the initialization of the probability estimation is concerned, same may be gained from performing some training phase within which a representative blend of video contents are subject to encoding in order to study the sample statistics of the syntax elements. At this occasion it has been exploited, for example, in H.264 that the symbol statistics of the symbols of the different contexts of the H.264 partially show a dependence on the quantization parameter QP, which the encoder chooses for the individual slices of the video. Accordingly, in H.264 a quantization parameter dependent probability estimation initialization has been used. In particular, the H.264 codec defined a pair of values for each context, namely a linear quantization parameter dependent factor, i.e. slope, as well as an offset value, i.e. a quantization parameter independent initialization value. Both values were defined in 8 bits.
There is an ongoing wish to further increase the coding efficiency of video coding, and accordingly, it would be favorable if the context-adaptive binary entropy coding outlined above could be further improved in terms of efficiency, i.e. in terms of a compromise between compression rate on the one hand and implementation complexity on the other hand.